git rebase

您所在的位置:网站首页 rebase onto remote git rebase

git rebase

2023-07-25 09:43| 来源: 网络整理| 查看: 265

git rebase --onto とは? 指定したコミットに、あるブランチの指定した範囲をつなげるコマンド G - H - I(target-branch) / D - E - F / A - B - C (このコミットの後ろに GHI を繋げたい!)

のような形になっている時に、 git rebase --onto C F target-branch と実行すると、

D - E - F / A - B - C - G' - H' - I'(target-branch)

のような形になるようにブランチを操作してくれるコマンド

どんな場面で使えるの?(個人的な感想です) テストの経験が浅いが、単体テストを導入したい 自分の開発用ブランチに続けてテスト用のブランチを作成し、まずは自分の環境でだけテストできるようにした (自分でも手探りなところがあるため)共有されているリポジトリにはテスト用のコミットはpushできない 諸事情でdevelopブランチがmasterにmergeできなくなったときや、developブランチでの検証が終わったので、unit-testブランチをmasterブランチの後ろに持って行きたい

というようなケースで便利に使えます。具体的すぎる気もしますが、似たようなケースはたくさんあるのではないかと思います。

2が完了した状態 G - H - I(unit-test) / D - E - F (develop) / A - B - C (master)

このような形で、なんとなくunit-testブランチでのテストはうまく行ったけど、まだmasterにpushできるほどではない、という時に、「せっかく作ったunit-testブランチを、再利用可能な形で残しておきたい!」と大半の人が思うことかと思います。 そのようなときこそ、git rebase --onto の出番です! unit-testブランチをmasterブランチの後ろにもっていきましょう。

# unit-test ブランチで、 git rebase --onto master develop unit-test のコマンドを実行した状態 D - E - F (develop) / A - B - C - (master) - G' - H' - I'(unit-test)

unit-testブランチが、masterブランチの後ろにくっつきました。やったー! 最初の例と同じ形になりました!

(もし、引き続きdevelop2の開発が始まりまって、そこでもunit-testブランチの検証がしたいと思った時には、unit-testブランチ上で普通に、git rebase develop2 を実行すればOKです! なれてきたら、最初の git rebase --onto master develop unit-test実行時に、 git rebase --onto develop2 develop unit-test と実行しても大丈夫です!)

まとめ git rebase --onto を使うとブランチを自由に移動させられる 新しい技術や手法の検証のために、git rebase --ontoを使うことができる ローカル環境で色々試しやすくなって幸せになれる ある程度検証が終わったら、masterにマージしてチーム全体が幸せになれる 注意点

上記のような使い方で、git rebase --onto が必要なブランチを大量に作っていると、大量にコンフリクトが発生してrebase作業だけで半日たっていた!等、本末転倒なことが起こる可能性がありますのでご注意ください!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3